<?php
// +----------------------------------------------------------------------
// | wttai [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.wttai.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: 老司机 <wutongtai@wttai.com> <http://www.wttai.com>
// +----------------------------------------------------------------------

namespace Common\Controller;
use Think\Controller;

/**
 * 前台公共控制器
 * 为防止多分组Controller名称冲突，公共Controller名称统一使用分组名称
 */
class CommonController extends Controller {

    protected $_domain = null;
    protected $_site = array();
    protected $WTTAI = array();


    /**
     * 域名检查
     * 
     */
    protected function checkDomain()
    {
        $domain = strtolower($_SERVER['HTTP_HOST']);
        //检查域名是否存在
        $site=$this->_siteIfo($domain,'domain');//判断这个是否是域名1
        if(!$site){
            $site=$this->_siteIfo($domain,'domain2');//判断这个是否是域名2
            $site=( $site ? $site : $this->_siteIfo($domain,'domain3'));//判断这个是否是域名3
            $site=( $site ? $site : $this->_siteIfo($domain,'domain4'));//判断这个是否是域名4
        } 
        
        if ($site){
           return $site;
        }
        
        $default_site_id = intval(C('SITE'));
        
        if ($default_site_id >= 1) {
            //域名信息没有，可以先设置一个id
            $site = D('Site')->where(array('id' => $default_site_id))->find();

            if ($site) {
                $this->_site = $site;
                define('SITE_ID', $site['id']);
                return $this->_domain = $site['domain'];
            }
        }    
        define('SITE_ID', 0);
        return $this->error('没有此域名信息，请在管理后台设置，或者配置', 'http://www.wttai.com');
    }        
    /*
     *根据域名查找站点信息
     *  $domain  域名
     *  $field   表域名字段
     */
    protected function _siteIfo($domain,$field){
        $site=D('Site')->where(array("$field"=>$domain))->find();
        if ($site ) {
            $this->_site = $site;
            define('SITE_ID', $site['id']);
            return $this->_domain = $site['domain'];
        }
    }
    
    protected function _initialize(){

        /* 读取站点配置 */
        $config = api('Config/lists');
        C($config); //添加配置

        //检查域名信息
        $this->checkDomain();
        //检查站点配置
        $this->siteConfig();
        
        if(!C('WEB_SITE_CLOSE')){
            return $this->error('所有站点已经关闭，请稍后访问~', 'http://www.wttai.com');
        }
    }

    
    protected function siteConfig()
    {
        $site_config = D('SiteConfig')->getSiteInfo(SITE_ID);
        if (!$site_config) {
            return null;
        }        
        C($site_config);
    }        

   

    /**
     * 渲染模板
     *
     */
    protected function _display($templateFile='',$charset='',$contentType='',$content='',$prefix='')
    {
        $this->WTTAI['site'] = $this->_site;
        $this->assign("WTTAI", $this->WTTAI);
        $this->display($templateFile, $charset, $contentType, $content, $prefix);
    }
    
    
    /**
     * 显示模板分页
     * 
     * @param int    $total 总数
     * @param int    $limit 单页显示数量
     * @param string $url   URL设置
     * @param string $name  分页对象名称，注意加上量词
     * 
     * @return void
     */
    protected function _page($total = 1, $limit = 10, $url = '', $name = "条记录")
    {
        $pageStr = '';
        if ($total > $limit) { //大于一页才显示分页条
            $page = new \Think\Page($total, $limit);
            $page->setUrl($url);
            $page->rollPage = 10;
            //$page->setConfig('header', '<li class="rows">共 %TOTAL_ROW% ' . $name . '</li>');
            $page->setConfig('header', '');
            //$page->setConfig('last', '... %TOTAL_PAGE%');
            $page->setConfig('last', '');
            $page->setConfig("theme", "%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %END% %DOWN_PAGE%");
            $pageStr = $page->show();
        }
        $this->assign('pageStr', $pageStr);
    }
    
    
    
    
    
     /* 空操作，用于输出404页面 */
    public function __empty(){
            $this->redirect('Index/index');
    }
    
    
    /* 用户登录检测 */
    protected function login(){
            /* 用户登录检测 */
            is_login() || $this->error('您还没有登录，请先登录！', U('User/login'));
    }
    
    
}
